# SPDX-License-Identifier: GPL-2.0-only
menu "Platform selection"

config ARCH_ACTIONS
	bool "Actions Semi Platforms"
	select OWL_TIMER
	select PINCTRL
	help
	  This enables support for the Actions Semiconductor S900 SoC family.

config ARCH_AGILEX
	bool "Intel's Agilex SoCFPGA Family"
	help
	  This enables support for Intel's Agilex SoCFPGA Family.

config ARCH_SUNXI
	bool "Allwinner sunxi 64-bit SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select GENERIC_IRQ_CHIP
	select PINCTRL
	select RESET_CONTROLLER
	help
	  This enables support for Allwinner sunxi based SoCs like the A64.

config ARCH_ALPINE
	bool "Annapurna Labs Alpine platform"
	select ALPINE_MSI if PCI
	help
	  This enables support for the Annapurna Labs Alpine
	  Soc family.

config ARCH_BCM2835
	bool "Broadcom BCM2835 family"
	select TIMER_OF
	select GPIOLIB
	select MFD_CORE
	select PINCTRL
	select PINCTRL_BCM2835
	select ARM_AMBA
	select ARM_TIMER_SP804
	select HAVE_ARM_ARCH_TIMER
	help
	  This enables support for the Broadcom BCM2837 SoC.
	  This SoC is used in the Raspberry Pi 3 device.

config ARCH_BCM_IPROC
	bool "Broadcom iProc SoC Family"
	select COMMON_CLK_IPROC
	select GPIOLIB
	select PINCTRL
	help
	  This enables support for Broadcom iProc based SoCs

config ARCH_BERLIN
	bool "Marvell Berlin SoC Family"
	select DW_APB_ICTL
	select DW_APB_TIMER_OF
	select GPIOLIB
	select PINCTRL
	help
	  This enables support for Marvell Berlin SoC Family

config ARCH_BITMAIN
	bool "Bitmain SoC Platforms"
	help
	  This enables support for the Bitmain SoC Family.

config ARCH_BRCMSTB
	bool "Broadcom Set-Top-Box SoCs"
	select ARCH_HAS_RESET_CONTROLLER
	select BCM7038_L1_IRQ
	select BRCMSTB_L2_IRQ
	select GENERIC_IRQ_CHIP
	select PINCTRL
	help
	  This enables support for Broadcom's ARMv8 Set Top Box SoCs

config ARCH_EXYNOS
	bool "ARMv8 based Samsung Exynos SoC family"
	select COMMON_CLK_SAMSUNG
	select EXYNOS_CHIPID
	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
	select EXYNOS_PMU
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
	select PINCTRL
	select PINCTRL_EXYNOS
	select PM_GENERIC_DOMAINS if PM
	select SOC_SAMSUNG
	help
	  This enables support for ARMv8 based Samsung Exynos SoC family.

config ARCH_K3
	bool "Texas Instruments Inc. K3 multicore SoC architecture"
	select PM_GENERIC_DOMAINS if PM
	select MAILBOX
	select SOC_TI
	select TI_MESSAGE_MANAGER
	select TI_SCI_PROTOCOL
	select TI_SCI_INTR_IRQCHIP
	select TI_SCI_INTA_IRQCHIP
	help
	  This enables support for Texas Instruments' K3 multicore SoC
	  architecture.

config ARCH_LAYERSCAPE
	bool "ARMv8 based Freescale Layerscape SoC family"
	select EDAC_SUPPORT
	help
	  This enables support for the Freescale Layerscape SoC family.

config ARCH_LG1K
	bool "LG Electronics LG1K SoC Family"
	help
	  This enables support for LG Electronics LG1K SoC Family

config ARCH_HISI
	bool "Hisilicon SoC Family"
	select ARM_TIMER_SP804
	select HISILICON_IRQ_MBIGEN if PCI
	select PINCTRL
	help
	  This enables support for Hisilicon ARMv8 SoC family

config ARCH_MEDIATEK
	bool "MediaTek SoC Family"
	select ARM_GIC
	select PINCTRL
	select MTK_TIMER
	help
	  This enables support for MediaTek MT27xx, MT65xx, MT76xx
	  & MT81xx ARMv8 SoCs

config ARCH_MESON
	bool "Amlogic Platforms"
	select PINCTRL
	select PINCTRL_MESON
	select COMMON_CLK_GXBB
	select COMMON_CLK_AXG
	select COMMON_CLK_G12A
	select MESON_IRQ_GPIO
	help
	  This enables support for the arm64 based Amlogic SoCs
	  such as the s905, S905X/D, S912, A113X/D or S905X/D2

config ARCH_MVEBU
	bool "Marvell EBU SoC Family"
	select ARMADA_AP806_SYSCON
	select ARMADA_CP110_SYSCON
	select ARMADA_37XX_CLK
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select MVEBU_GICP
	select MVEBU_ICU
	select MVEBU_ODMI
	select MVEBU_PIC
	select MVEBU_SEI
	select OF_GPIO
	select PINCTRL
	select PINCTRL_ARMADA_37XX
	select PINCTRL_ARMADA_AP806
	select PINCTRL_ARMADA_CP110
	help
	  This enables support for Marvell EBU familly, including:
	   - Armada 3700 SoC Family
	   - Armada 7K SoC Family
	   - Armada 8K SoC Family

config ARCH_MXC
	bool "ARMv8 based NXP i.MX SoC family"
	select ARM64_ERRATUM_843419
	select ARM64_ERRATUM_845719 if COMPAT
	select IMX_GPCV2
	select IMX_GPCV2_PM_DOMAINS
	select PM
	select PM_GENERIC_DOMAINS
	select SOC_BUS
	select TIMER_IMX_SYS_CTR
	help
	  This enables support for the ARMv8 based SoCs in the
	  NXP i.MX family.

config ARCH_QCOM
	bool "Qualcomm Platforms"
	select GPIOLIB
	select PINCTRL
	help
	  This enables support for the ARMv8 based Qualcomm chipsets.

config ARCH_REALTEK
	bool "Realtek Platforms"
	help
	  This enables support for the ARMv8 based Realtek chipsets,
	  like the RTD1295.

config ARCH_RENESAS
	bool "Renesas SoC Platforms"
	select GPIOLIB
	select PINCTRL
	select SOC_BUS
	help
	  This enables support for the ARMv8 based Renesas SoCs.

config ARCH_ROCKCHIP
	bool "Rockchip Platforms"
	select ARCH_HAS_RESET_CONTROLLER
	select GPIOLIB
	select PINCTRL
	select PINCTRL_ROCKCHIP
	select PM
	select ROCKCHIP_TIMER
	help
	  This enables support for the ARMv8 based Rockchip chipsets,
	  like the RK3368.

config ARCH_SEATTLE
	bool "AMD Seattle SoC Family"
	help
	  This enables support for AMD Seattle SOC Family

config ARCH_STRATIX10
	bool "Altera's Stratix 10 SoCFPGA Family"
	help
	  This enables support for Altera's Stratix 10 SoCFPGA Family.

config ARCH_SYNQUACER
	bool "Socionext SynQuacer SoC Family"

config ARCH_TEGRA
	bool "NVIDIA Tegra SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select ARM_GIC_PM
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select TIMER_OF
	select GENERIC_CLOCKEVENTS
	select GPIOLIB
	select PINCTRL
	select PM
	select PM_GENERIC_DOMAINS
	select RESET_CONTROLLER
	help
	  This enables support for the NVIDIA Tegra SoC family.

config ARCH_SPRD
	bool "Spreadtrum SoC platform"
	help
	  Support for Spreadtrum ARM based SoCs

config ARCH_THUNDER
	bool "Cavium Inc. Thunder SoC Family"
	help
	  This enables support for Cavium's Thunder Family of SoCs.

config ARCH_THUNDER2
	bool "Cavium ThunderX2 Server Processors"
	select GPIOLIB
	help
	  This enables support for Cavium's ThunderX2 CN99XX family of
	  server processors.

config ARCH_UNIPHIER
	bool "Socionext UniPhier SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select PINCTRL
	select RESET_CONTROLLER
	help
	  This enables support for Socionext UniPhier SoC family.

config ARCH_VEXPRESS
	bool "ARMv8 software model (Versatile Express)"
	select COMMON_CLK_VERSATILE
	select GPIOLIB
	select PM
	select PM_GENERIC_DOMAINS
	select POWER_RESET_VEXPRESS
	select VEXPRESS_CONFIG
	help
	  This enables support for the ARMv8 software model (Versatile
	  Express).

config ARCH_VULCAN
	def_bool n

config ARCH_XGENE
	bool "AppliedMicro X-Gene SOC Family"
	help
	  This enables support for AppliedMicro X-Gene SOC Family

config ARCH_ZX
	bool "ZTE ZX SoC Family"
	select PINCTRL
	help
	  This enables support for ZTE ZX SoC Family

config ARCH_ZYNQMP
	bool "Xilinx ZynqMP Family"
	select ZYNQMP_FIRMWARE
	help
	  This enables support for Xilinx ZynqMP Family

endmenu
